// 使用原生 ajax 封装 axios
export const ajax_axios = {
  get<T>(url: string): Promise<T> {
    // 返回一个 Promise 对象
    return new Promise((resolve, reject) => {
      const xhr = new XMLHttpRequest();
      // XMLHttpRequest对象发送一个GET请求，并指定了请求的URL
      // xhr.open()方法接受三个参数：
      //   请求方法（比如'GET'或'POST'）
      //   请求URL
      //   一个可选的布尔值参数，表示是否在异步模式下发送请求（默认为true）
      xhr.open('GET', url);

      xhr.onreadystatechange = () => {
        if (xhr.readyState == 4 && xhr.status == 200) {
          // 请求完成并且状态码为200的时候执行下面操作
          setTimeout(() => {
            resolve(JSON.parse(xhr.responseText));
          }, 2000);
        }
      };
      xhr.send(null); // 可以携带表单数据发送请求
    });
  }
};
